package br.com.gadje.dominiopersistencia.util;

import java.lang.annotation.Annotation;
import java.lang.reflect.AnnotatedElement;

/**
 * Classe que concentra os métodos para lidar com anotações.
 * 
 * @author Joilson Abrantes
 *
 */
public class AnotationUtil {
	/**
	 * Dado um AnnotatedElement e uma classe que
	 * representa uma anotação, retorna a instância da classe.
	 */
	public static Annotation getAnotacao( Class<?> annotation, AnnotatedElement elemento) {
		Annotation[] annotations = elemento.getDeclaredAnnotations();
		if (annotations != null && annotations.length > 0) {
			for (Annotation a : annotations) {
				if (annotation.equals(a.annotationType())) {
					return a;
				}
			}
		}
		
		return null;
	}
}
